Zurück in DatenbankentwicklungWeiter in DatenbankentwicklungExport eines Access Quiz ?

Implementationsvarianten

Access Quizzes mit Selbst- und Fremdkorrektur und Web Quizzes mit Selbstkorrektur greifen auf eine lokale Aufgabenbank QUIZ_BACKEND zu. Alternativ könnte ein Quiz direkt auf die umfassende Aufgabenbank TESTVERWALTUNG_BACKEND der Autorenkomponente zugreifen. Beides hat Vor- und Nachteile. Die folgende Tabelle bewertet die implementierte Alternative:

Eine lokale Aufgabenbank ... Begründung
ist effizienter weil die Kommunikation zwischen Client und Server minimal ist
ist sicherer weil Quizzes mit und ohne Selbstkorrektur auch lokal durchführbar sind
muss dafür Redundanz verwalten weil die Daten in QUIZ_BACKEND und TESTVERWALTUNG_BACKEND sind

Erzeugte Tabellen

Anders als schriftliche Tests enthalten Quizzes nur Mehrfachwahl- und Zuordnungsaufgaben. Die Schaltflächen »Access Quiz mit Fremdkorrektur und »Access Quiz mit Selbstkorrektur des Formulars 2 Test ausgeben generieren die folgenden Tabellen:

Tabelle von QUIZ_BACKEND Zweck
QuizFRAGEN Fragentexte der Mehrfachwahl- und Zuordnungsaufgaben
QuizMEHRFACHWAHL Alternativen und Lösungen der Mehrfachwahlaufgaben
QuizBUCHSTABEN_ALTERNATIVEN Buchstabenpräfixe und -alternativen der Zuordnungsaufgaben
QuizZAHLEN_ALTERNATIVEN Zahlenpräfixe und -alternativen der Zuordnungsaufgaben
QuizZUORDNUNGS_LÖSUNGEN Korrekte Präfixpaare der Zuordnungslösungen
QuizTEST Identifikation des laufenden Tests
SCORESMC Teilnehmerantworten auf Mehrfachwahlfragen
SCORESZO Teilnehmerantworten auf Zuordnungsfragen

QuizTEST besteht aus einem einzigen Satz, dessen erstes Feld den exportierten Quiz mit einer eindeutigen Nummer identifiziert. Die übrigen Felder nennen andere Eigenschaft des exportierten Tests, insbesondere die getestete Veranstaltung, das Semester, das Jahr und einen allfälligen Antwortenpfad. Die Zeilen der gelb markierten Tabellen enthalten Satzskelette, die erst nach der Beantwortung vervollständigt werden:

Falls der Teilnehmer den Quiz nicht selbst korrigieren darf, muss er zu Beginn des Tests sein Matrikelnummer eingeben. Jeder Satz von SCORESMC und SCORESZO enthält dann neben der Antwort, dem Fragenschlüssel und dem Testschlüssel auch die Matrikelnummer. So lässt sich jede Antwort einem Test und einem Teilnehmer zuordnen. 

Wenn der Teilnehmer eines fremdkorrigierten Access Quiz verlässt, fügt die Ereignisprozedur BtnTestAbgeben_Click() die Tabellen SCORESMC und SCORESZO den gleichnamigen Aggregationstabellen von TESTVERWALTUNG_BACKEND an.

Codierung

Die Codierung der Reaktion auf die Schaltflächen »Access Quiz mit Fremdkorrektur und »Access Quiz mit Selbstkorrektur sind aufwändig. Wir analysieren Sie deshalb nur entwurfssprachlich. Der folgende Entwurfscode exportiert die Quizaufgabenbank QUIZ_BACKEND. Dazu kopiert er Auszüge von Testverwaltung_Backend.mdb und erstellt Tabellentemplates aus Feldbezeichnern und einem Primärschlüssel.

Exportiere die Datenbank QUIZ_BACKEND
(Attribute kursiv, Primärschlüssel unterstrichen)
  Lösche die letzte Version von QUIZ_BACKEND
  Erstelle eine neue leere Datenbank QUIZ_BACKEND
  Erstelle die Tabelle QuizMEHRFACHWAHL
    Definiere die folgende Tabellenstruktur
      Fragenschlüssel
      Alternativenschlüssel
      Alternativentext
      Lösung
    Erstelle das Tabellenskelett
      Kopiere satzweise die Ergebnistabelle einer SQL-Abfrage aus den ...
        Mehrfachwahl-Aufgaben des gewählten Testtermins mit den Feldern ...
          Fragenschlüssel
          Alternativentext
          Lösung
      Füge satzweise einen Alternativenschlüssel an, der ...
        die Alternativen jeder Aufgabe von 1 bis 4 nummeriert
  Erstelle die Tabelle QuizBUCHSTABENPRÄFICES
    Definiere die folgende Tabellenstruktur
      Fragenschlüssel
      Zahlenpräfix
      TmpBuchstabenpräfixe
    Erstelle das Tabellenskelett
      Erstelle aus der normalisierten Tabelle ZUORDNUNGSLÖSUNGEN eine ...
        Tabelle TmpBUCHSTABENPRÄFICES mit Wiederholungsgruppen 
        (Zwei Zeilen [A,1] und [A,2] werden z.B. zu einer einzigen Zeile [A,12])
  Erstelle die einzeilige Tabelle QuizTEST
    Definiere die folgende Tabellenstruktur
      Testschlüssel
      Veranstaltung
      SemesterOderQuiz
      Jahr
    Erstelle die Tabelle mit den Werten des gewählten Tests
      Falls Selbstkorrektur dann
        erstelle den Satz mit einem Testschlüssel von -1
      sonst
        erstelle den Satz mit einem Testschlüssel von <laufender Testschlüssel> 
  Erstelle die leere Tabelle SCORESMC:
    Fragenschlüssel
    Alternativenschlüssel
    Matrikelnummer
    Testschlüssel
    Benutzerlösung
  Erstelle die leere Tabelle SCORESZO:
    Fragenschlüssel
    Matrikelnummer
    Testschlüssel
    Zahlenpräfix
    Buchstabenpräfix
  Erstelle aus den folgenden Abfragen die (rot markierten) Musterlösungstabellen
    QUIZQryFragenMitText          -> QuizFRAGEN
    QUIZQryBuchstabenalternativen -> QuizBUCHSTABEN_ALTERNATIVEN
    QUIZQryZahlenalternativen     -> QuizZAHLEN_ALTERNATIVEN
    QUIZQryZuordnungslösungen     -> QuizZUORDNUNGS_LÖSUNGEN
Den VBA-Code finden Sie, wenn Sie in der Entwurfsansicht von Testverwaltung auf die Schaltfläche »BtnAccessQuizMitSelbstkorrektur klicken, dann mit »Alt/Eingabetaste die Eigenschaftenliste anzeigen und schliesslich zur Ereignisprozedur BtnAccessQuizMitSelbstkorrektur_Click() verzweigen.
 

Wie exportiere ich einen clientzentrierten Web Quiz mit Selbstkorrektur?

Spezifikation serverzentrierter Web Quizzes mit Fremdkorrektur